Embodiments of the invention generally relate to a electronic device for use in a communication system, the system comprising a physical communication layer, a network layer and an application layer. More particularly, embodiments of the invention relate to a receiver which receives a stream of data packets including video data packets over a physical data link and which drops data packets when an error on the physical communication layer is detected.
Communication systems as the Internet but not limited to the Internet are often structured according to a more-layer model as for example the OSI model (open systems interconnection model) or the TCP/IP model (transmission control protocol/internet protocol). In the different layers different communication protocols may be used. Data including audio and video data are transmitted in a stream of data packets. A usual video data packet contains about 1165 bytes, including e.g. 20 bytes IP header, 8 bytes UDP header, 12 bytes RTP header und 6*188 bytes video data. Most of the communication protocols use error detection methods. Data packets are, for example, provided with a check sum allowing a redundancy check on the data packet for detecting any errors. Data packets may also be provided with a packet length check controlling the number of transmitted bits. Depending on the protocol a corrupted data packet is either dropped without any signaling or dropped and retransmission is requested. There are also protocols such as the UDPlite which allow the forwarding of a corrupted packet.
A common medium to transmit the data from the internet to the end-user or more precisely from a central office to the subscriber is the so-called digital subscriber line (DSL). The digital subscriber lines often use the old twisted pair cables which are in use since long for the transmission of analogue telephone signals as well as for digital telephone signals. To be able to transmit digital data with a high bit rate over the twisted pair, usually the ATM transmission (asynchronous transfer modus) is used: the data of one data packet is transported by a plurality of ATM cells, an ATM cell including only 48 bytes of information whereas a video data packet transported via Internet includes typically 9320 bits for an MPEG2 transport stream. Each ATM cell is provided with a header containing address information in the form of VPI/VCI (virtual path identifier/virtual channel identifier) pairs. The ATM cell containing the last bits of a data packet further contains an end of packet (EOP) bit and information about the data packet length. The stream of ATM cells is then scrambled and modulated as known in the state of the art for transmission, for example using the orthogonal frequency division multiplexing (OFDM).
These digital subscriber lines implemented by a twisted pair cable are sensitive to impulse noise. The expression “impulse noise” relates to short, occasionally occurring interferences. There are solutions known to protect the DSL against impulse noise but they reduce the usable range of the physical subscriber line. Therefore, operators make a compromise between error correction and range. If corrupted ATM cells are detected, whether corrupted due to impulse noise or for other reasons, the whole data packet is dropped, even if there is only one corrupted ATM cell which transports only a small part of a data packet. In the case of video packets, this loss of packets is seen by the end-user as an artifact on the screen.
Analyses have shown, that due to impulse noise there are typically about 50 bit errors in a packet containing 9320 bits. Modern video decoder can handle an error rate of 50 bits out of 9320 bits without generating an artifact visible to the end customer. SUMMARY
Embodiments of the invention provide a receiver. The receiver comprises a processor which may be configured to check for each received data packet whether it is a video data packet and whether it is corrupted by a specific error on the physical communication layer. The processor may be further configured to mark a video packet as corrupted if the cell is corrupted due to a specific error on the physical communication layer and to forward the marked corrupted video packet to the network layer. In general, video packets may be corrupted for other reasons than the specific errors on the physical communication layer. In this case, there may be a great number of bits corrupted and the video data packet must be dropped. It is also possible that a hacker may try to enter the end-user's system so this video packet must be dropped, as well. There are also applications for which data other than video data is transported and for which the transmission of a corrupted data packet may have severe consequences. Therefore, the processor included in the inventive receiver maybe configured to forward only corrupted video data packets and only if they are corrupted by a specific error on the physical communication layer. Preferably, the specific error is detected at the output of demodulator provided in the receiver.
In a preferred embodiment, the data packets are received in the form of ATM cells and the processor is configured to check for each ATM cell whether it is a potential cell for video data.
In a preferred embodiment, the processor is further configured to detect whether the ATM cell header is corrupted and preferably restores an ATM cell header of the corrupted cell. As an ATM cell header comprises the address of the cell, if there is no correction of the cell header, the cell will be rooted incorrectly leading to a complete loss of the cell contents, possibly even coupled with damage to unrelated data. Preferably, the network layer comprises a table of valid VPI/VCI pairs which carry video streams. Thus, the processor can compare the VPI/VCI pairs given in the ATM cell header of the corrupted cell with the VPI/VCI pairs included in the table.
For transmission of the digital data stream, the data stream may be scrambled and modulated to be transmitted as a modulated signal adapted to the transmission band of the twisted pair cable. After demodulation, the signal may be descrambled. If the transmission is disturbed by the specific error, the descrambler outputs a specific bit error pattern. In a preferred embodiment, for restoring a corrupted VPI/VCI address the processor may be configured to correct the address based on the bit error pattern and on a correlation function.
An ATM cell which comprises the last data bits of a data packet has a so-called EOP bit set (end of packet) and contains information about the data packet length. Thus, it is possible to detect a data packet length. The processor may be preferably configured to verify if a data packet length is a typical video data packet length and if there is no typical video packet length detected, the corrupted ATM cell is dropped.
In a preferred embodiment, the receiver further includes segmenting and reassembling means which are configured to remove the ATM cell headers and to reassemble the data packets. Data packets are usually provided with a check sum allowing a redundancy check on the data packet for detecting any errors. The segmenting and reassembling means included in the inventive receiver is further configured to perform such a redundancy check on the data packets and to mark a video data packet as corrupted if the redundancy check is negative. The marked video data packet is then forwarded to the network layer. Thus, data packets with a negative redundancy check are forwarded if they are video data packets and if corruption is due to the specific physical error.
Preferably, the receiver further comprises verification means which recalculate a check sum if the redundancy check was negative. Thus, the following network layer will see a valid check sum and treat the data packet as a non-corrupted data packet.
In the preferred embodiment, the physical data link is a digital subscriber line comprising a twisted pair cable and the error occurring on the physical communication layer is due to impulse noise.
Preferably, the processor is implemented by software programmed into a microprocessor of Digital Signal Processor (DSP).
Embodiments further provide a method for processing a stream of data packets which include video data packets. The inventive method includes checking for each data packet whether it is a video data packet; checking for each video data packet whether it is corrupted by a specific error on the physical communication layer; marking a video packet as corrupted if it is corrupted due to the specific error on the physical communication layer; and forwarding the marked corrupted video packet to the network layer.
These and other features and advantages will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.